package com.bosssoft.g4.service;

import com.bosssoft.g4.bo.SubSystemTree;
import com.bosssoft.g4.dto.ResourceDTO;

import javax.validation.constraints.NotNull;
import java.util.List;

/**
 * @author Baiye959
 */
public interface ResourceService {
    /**
     * 获取资源列表
     * @param resourceDTO
     * @return
     */
    public List<ResourceDTO> getResourceList(ResourceDTO resourceDTO);

    /**
     * 获取资源详情
     * @param id
     * @return
     */
    public ResourceDTO getResourceById(@NotNull Long id);

    /**
     * 删除资源
     * @param id
     * @return
     */
    public Boolean deleteResourceById(@NotNull Long id);

    /**
     * 更新资源
     * @param resourceDTO
     * @return
     */
    public Boolean updateResource(@NotNull ResourceDTO resourceDTO);

    /**
     * 新增资源
     * @param resourceDTO
     * @return
     */
    public Long insertResource(@NotNull ResourceDTO resourceDTO);

    /**
     * 获取资源树
     * @return
     */
    public List<SubSystemTree> getResourceTree();

    /**
     * 批量删除资源
     * @param idList
     * @return
     */
    Boolean deleteResourceByIdList(@NotNull List<Long> idList);
}
